/**
 * @brief    
 * 
 * @version  0.1
 * @author   wanghuan
 * @date     2025.02.26
 *         _
 *     ___| |__   ___ _ __   __ _  ___  _ __   __ _
 *    / __| '_ \ / _ \ '_ \ / _` |/ _ \| '_ \ / _` |
 *    \__ \ | | |  __/ | | | (_| | (_) | | | | (_| |
 *    |___/_| |_|\___|_| |_|\__, |\___/|_| |_|\__, |
 *                          |___/             |___/
 * @copyright (c) 2025 by 神工仿真, All Rights Reserved.
 */
#pragma once
#include "DataStructure/Common/Id.h"
#include "DataStructure/Common/DataStructureNamespace.h"


SG_DATASTRUCTURE_FEM_NAMESPACE_OPEN
enum DynaExcitType
{
    DYNAEXC_Unkown = -1,
    DYNAEXC_Force = 0,
    DYNAEXC_Disp = 1,
    DYNAEXC_Velc = 2,
    DYNAEXC_Acce = 3,
};

inline DynaExcitType getDynaExcitType (SG::DataStructure::Common::I64  m_type)
{
    switch (m_type)
    {
    case 0:
        return DYNAEXC_Force;
        break;

    case 1:
        return DYNAEXC_Disp;
        break;

    case 2:
        return DYNAEXC_Velc;
        break;
    case 3:
        return DYNAEXC_Acce;
        break;
    
    default:
        break;
    }
    return DYNAEXC_Unkown;
}

SG_DATASTRUCTURE_FEM_NAMESPACE_CLOSE